package com.ruoyi.drone.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 飞手技能表（简化版）对象 drone_pilot_skill
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public class DronePilotSkill extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 技能ID */
    private Long skillId;

    /** 飞手ID（关联drone_user_profile） */
    @Excel(name = "飞手ID")
    private Long pilotId;

    /** 技能证明照片 */
    @Excel(name = "技能证明照片")
    private String skillImage;

    /** 状态（0待审核 1已通过 2已拒绝） */
    @Excel(name = "状态", readConverterExp = "0=待审核,1=已通过,2=已拒绝")
    private String status;

    /** 审核原因 */
    @Excel(name = "审核原因")
    private String auditReason;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    /** 审核人 */
    @Excel(name = "审核人")
    private String auditBy;

    public void setSkillId(Long skillId) {
        this.skillId = skillId;
    }

    public Long getSkillId() {
        return skillId;
    }

    public void setPilotId(Long pilotId) {
        this.pilotId = pilotId;
    }

    public Long getPilotId() {
        return pilotId;
    }

    public void setSkillImage(String skillImage) {
        this.skillImage = skillImage;
    }

    public String getSkillImage() {
        return skillImage;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setAuditReason(String auditReason) {
        this.auditReason = auditReason;
    }

    public String getAuditReason() {
        return auditReason;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public void setAuditBy(String auditBy) {
        this.auditBy = auditBy;
    }

    public String getAuditBy() {
        return auditBy;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("skillId", getSkillId())
                .append("pilotId", getPilotId())
                .append("skillImage", getSkillImage())
                .append("status", getStatus())
                .append("auditReason", getAuditReason())
                .append("auditTime", getAuditTime())
                .append("auditBy", getAuditBy())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}